home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 4 / ETO Development Tools 4.iso / Tools - Objects / MacApp / MacApp 2.0.1 / Experimental enhancements / Windoid / •Read Me•
Text File  |  1990-10-31  |  6KB  |  129 lines

  1. Floaters for MacApp® 2.0
  2. version 1.0b1
  3. © Apple Computer, Inc. 1990
  4.  
  5.   Chris Knepper
  6.   Apple Computer, Inc.
  7.   408-974-7344
  8.   AppleLink: KNEPPER
  9.  
  10. To use this package, you must have MacApp 2.0 final, and either MPW 3.1 or THINK Pascal 3.0.1.
  11.  
  12. Release Notes
  13. =============
  14. This package is provided to allow MacApp® 2.0 applications to support tear-off menus
  15. and floating windows.
  16.  
  17. Floating windows are a subclass of TFloatWindow. They install themselves in the front
  18. of the window list. Floating windows are identified by the windowKind field of the
  19. windowRecord.
  20.  
  21. Tear-off menus are a subclass of TTearOffMenu. For your menus to get tear-off behavior
  22. you need to subclass of TTearOffMenu. You can tear-off any TWindow object, including
  23. a TFloatWindow object.
  24.  
  25. Note that this package includes UMenu. The version of UMenu provided with this package
  26. is enhanced from the version of UMenu in the MacApp® 2.0 release.
  27.  
  28. Many of MacApp 2.0 methods have been modified to support floating windows. E.g. The
  29. TWindow class has been modified so that new windows install themselves behind the last
  30. floating window. For this reason, it is necessary to replace certain files from the MacApp 2.0
  31. release with the files included in this package.
  32.  
  33. Included with this package is an enhanced DrawShapes providing tear-off menu and floating
  34. window capabilities. This enhanced DrawShapes should teach you how to use this package.
  35.  
  36. To learn how to use the UFloatWindow and UTearOffMenu units, look at:
  37.     MDrawShapes.p - to see how to initialize these units;
  38.     DrawShapes.MAMake - to see how to make your application with these units;
  39.     UDrawShapes.p - to see how the classes TToolsMenu & TPatternsMenu implement tear-off menus
  40.                   - to see how the classes TToolsPalette & TPatternsPalette implement views
  41.                   that are trackable and installable in floating windows and in tear-off menus
  42.                   - to see how the trackers TToolSelectCmd & TReshadeCmd are used to track in both
  43.                   tear-off menus and in floating windows
  44.  
  45. Known Bugs and Limitations
  46. ==========================
  47. Tear-offs: no known bugs
  48.  
  49. Floating windows:
  50. 1. Currently, only template floating window creation is supported (no procedural support yet).
  51.  
  52. 2. The floating window WDEF drop-shadow needs a 2 pixel inset at top-right and bottom-left.
  53.  
  54. DrawShapes demo:
  55. 1. There is a bug with the hiliting of the tools palette so that the current selection is
  56. sometimes not correctly reflected by the hiliting, and sometimes multiple tools are selected.
  57.  
  58. 2. There is a bug in the TReshadeCmd when a pattern isn't selected from the floating palette
  59. (e.g. if the tracker is tracked off the edge and released, or if the mouse is released on
  60. a border between two patterns).
  61.  
  62. THINK Pascal users:
  63. 1. To use this package with THINK Pascal, you will have to build "to disk" and launch from
  64. the Finder. When running within the THINK Pascal environment, there is a crash when 
  65. quitting the application.
  66.  
  67. Technical Support
  68. =================
  69. AppleLink: MacDTS, MacApp.Tech$
  70.   
  71. Installation instructions
  72. =========================
  73. Copy this package to your hard disk.
  74.  
  75. For MPW users:
  76.   1. Replace UMacApp.p in MacApp's PInterfaces folder with the version in this package
  77.     • adds constant kFloatWindowKind
  78.     • adds method PROCEDURE TApplication.ShowHideHiddenWindows
  79.     • adds field fHideOnSuspend to TWindow
  80.     • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
  81.     • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
  82.     • adds interfaces for IsDialog, IsFloatWindow, GetLastFloatingWindowPtr,
  83.     MAGetActiveWindow, IsDocumentWindow, and MAFrontWindow.
  84.   2. Replace UMacApp.TWindow.p in MacApp's Libraries folder with the version in this package
  85.     • modifies TWindow.IRes to call GetBehindWindowPtr
  86.     • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
  87.     • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
  88.     • adds routines for IsDialog, IsFloatWindow, GetLastFloatingWindowPtr,
  89.     MAGetActiveWindow, and IsDocumentWindow
  90.   3. Replace UMacApp.TApplication.p in MacApp's Libraries folder with the version in this package
  91.       • modifies TApplication.Close so that non-floater windows close before floater windows
  92.     • adds method PROCEDURE TApplication.ShowHideHiddenWindows
  93.     • modifies method TApplication.HandleSystemEvent to call ShowHideHiddenWindows
  94.     • modifies TApplication.MakeClipboardWindow to set fHideOnSuspend to TRUE
  95.   4. Replace UPatch.inc1.p in MacApp's Libraries folder with the version in this package
  96.       • fixes a bug in UnpatchTrap when unpatching a trap which has been patched multiple times
  97.   5. Launch MPW and set the directory to the DrawShapes folder provided with this package
  98.   6. Rebuild the MacApp library for all versions of the library that you use, e.g.:
  99.       MABuild -autobuild -nodebug DrawShapes
  100.       MABuild -autobuild -debug DrawShapes
  101.   
  102.  
  103. For THINK Pascal users:
  104.   1. Replace UMacApp.p in ":THINK MacApp:MacApp Source:" with the version in this package
  105.     • adds constant kFloatWindowKind
  106.     • adds field fHideOnSuspend to TWindow
  107.     • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
  108.     • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
  109.     • adds method PROCEDURE TApplication.ShowHideHiddenWindows
  110.     • adds interfaces and routines for IsDialog, IsFloatWindow, GetLastFloatingWindowPtr,
  111.     MAGetActiveWindow, IsDocumentWindow, and MAFrontWindow.
  112.   2. Replace UMA.TWindow.p in ":THINK MacApp:MacApp Source:" with the version in this package
  113.     • modifies TWindow.IRes to call GetBehindWindowPtr
  114.     • adds method FUNCTION TWindow.GetBehindWindowPtr: WindowPtr;
  115.     • adds method FUNCTION TWindow.IsHidOnSuspend: BOOLEAN;
  116.   3. Replace UMA.TApplication.p in ":THINK MacApp:MacApp Source:" with the version in this package
  117.       • modifies TApplication.Close so that non-floater windows close before floater windows
  118.     • adds method PROCEDURE TApplication.ShowHideHiddenWindows
  119.     • modifies method TApplication.HandleSystemEvent to call ShowHideHiddenWindows
  120.     • modifies TApplication.MakeClipboardWindow to set fHideOnSuspend to TRUE
  121.     • fixes an incompatibility between the way that THINK and MPW reserve space on the stack
  122.     for the result of a function call for the methods TApplication.InModalMenuState and
  123.     TApplication.InModalState
  124.   4. Replace UPatch.p in ":THINK MacApp:MacApp Source:" with the version in this package
  125.       • fixes a bug in UnpatchTrap when unpatching a trap which has been patched multiple times
  126.   5. Launch THINK Pascal, open either DrawShapes.Build.π or DrawShapes.Debug.Build.π.
  127.   6. Build the project.
  128.  
  129.